package com.testing.class2;

/**
 * @Classname LogicTest
 * @Description 类型说明
 * @Date 2021/4/12 21:21
 * @Created by 特斯汀Roy
 */
public class LogicTest {

    public static void main(String[] args) {
//        int x=3;
//        boolean z= x++ ==3;
//        System.out.println(z);
//        System.out.println(x);

        int a = 5;
        int b = 10;


        //逻辑或短路：
        //只要一个为真，或结果就为真，后面的不算了。
//        boolean orDL = (a = 10) == 10 || ++b == 11;
        //按位或，不短路。
        boolean orNoDL = !((a = 10) == 10) | ++b == 11;
        System.out.println(a);
        System.out.println(b);
//        System.out.println(orDL);
        System.out.println(orNoDL);


        //              先赋值a为10，然后判断a是否等于10
//        boolean andDL= (a=10) ==10 && (b=15)==15;
        //逻辑运算短路原则：
        // 与操作，只要有一个为假，结果就为假。
        //如果&&左边的算式结果为假，那么右边的不再运行。  直接得出结果为假。
//        boolean andDL= (a=11) ==10 && (b=15)==15;

        //按位与操作，不存在短路原则。
//        boolean andNoDL=(a=11) ==10 & (b=15)==15;
//
//        System.out.println(a);
//        System.out.println(b);
////        System.out.println(andDL);
//        System.out.println(andNoDL);


    }

}
